# ifndef __SelectType_H_
# define __SelectType_H_

# include "RgnKind.h"

class CTypeSet;
typedef void (* pfApplySelectType_t) (USHORT _ushType, RGN_KIND _Kind);

bool SelectType (HWND _hWnd, const CTypeSet * _pTypeSet, RGN_KIND _Kind, USHORT & _ushType, pfApplySelectType_t _pfApplySelectType);

struct selected_type_t {
	RGN_KIND Kind;
	USHORT ushType;
};
typedef std::vector<selected_type_t> selected_types_t;
bool IsTypeSelected (const selected_types_t & _sts, RGN_KIND _Kind, USHORT _ushType);

bool SelectMultipleTypes (HWND _hWnd, const CTypeSet * _pTypeSet, selected_types_t & _types);

# endif // __SelectType_H_